package com.wl.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.wl.entity.Material;

public interface MaterialMapper {
	/**
	 * 根据id删除物料信息
	 * 
	 * @param id
	 * @return
	 */
	public int deleteByPrimaryKey(Integer id);

	/**
	 * 添加物料信息
	 * 
	 * @param record
	 * @return
	 */
	public int insert(Material record);

	/**
	 * 动态sql增加物料
	 * 
	 * @param record
	 * @return
	 */
	public int insertSelective(Material record);

	/**
	 * 根据id查找物料
	 * 
	 * @param id
	 * @return
	 */
	public Material selectByPrimaryKey(Integer id);

	/**
	 * 根据id动态sql修改物料信息
	 * 
	 * @param record
	 * @return
	 */
	public int updateByPrimaryKeySelective(Material record);

	/**
	 * 根据id修改物料信息
	 * 
	 * @param record
	 * @return
	 */
	public int updateByPrimaryKey(Material record);

	/**
	 * 根据物料编号查找物料信息
	 * 
	 * @param materialid
	 * @return
	 */
	public Material selectByMaterialId(String materialid);

	/**
	 * 分页+模糊查询
	 * 
	 * @param start
	 * @param limit
	 * @param keywords
	 * @return
	 */

	public List<Material> selectMaterialByLike(@Param("start") int start, @Param("pageSize") int limit,
			@Param("keywords") String keywords, @Param("materialid") String materialid,
			@Param("minprice") Double minprice, @Param("maxprice") Double maxprice,
			@Param("materialstatus") Integer materialstatus);

	/**
	 * 模糊查询得到总记录数
	 * 
	 * @param keywords
	 * @return
	 */
	public int selectMaterialByLikeCount(@Param("keywords") String keywords, @Param("materialid") String materialid,
			@Param("minprice") Double minprice, @Param("maxprice") Double maxprice,
			@Param("materialstatus") Integer materialstatus);
}